Вчерашний запрос, "заморозивший" миграцию на три часа:
SELECT entity_id, MAX(start_date), MAX(end_date) FROM ( SELECT entity_id, MAX(start_date) start_date, NULL AS end_date FROM audit_log WHERE attr = 'reviewed' AND newValue = 'true' GROUP BY entity_id UNION ALL SELECT entity_id, NULL AS start_date, MAX(end_date) end_date FROM audit_log WHERE attr = 'overriden' AND newValue = 'true' GROUP BY entity_id ) a GROUP BY entity_id;
можно было бы написать сильно оптимальнее вот так:
SELECT entity_id, MAX(if(attr = 'reviewed', NULL, start_date)) AS start_date, MAX(if(attr = 'reviewed', end_date, NULL)) end_date FROM audit_log WHERE (attr = 'reviewed' OR attr='overriden') AND newValue = 'true' GROUP BY entity_id;
При сильно похожих WHERE в таких конструкциях, удобнее схлопнуть UNION и "на лету" подставлять в SELECT нужное значение через if.
Вчерашний запрос, "заморозивший" миграцию на три часа:
SELECT entity_id, MAX(start_date), MAX(end_date) FROM ( SELECT entity_id, MAX(start_date) start_date, NULL AS end_date FROM audit_log WHERE attr = 'reviewed' AND newValue = 'true' GROUP BY entity_id UNION ALL SELECT entity_id, NULL AS start_date, MAX(end_date) end_date FROM audit_log WHERE attr = 'overriden' AND newValue = 'true' GROUP BY entity_id ) a GROUP BY entity_id;
можно было бы написать сильно оптимальнее вот так:
SELECT entity_id, MAX(if(attr = 'reviewed', NULL, start_date)) AS start_date, MAX(if(attr = 'reviewed', end_date, NULL)) end_date FROM audit_log WHERE (attr = 'reviewed' OR attr='overriden') AND newValue = 'true' GROUP BY entity_id;
При сильно похожих WHERE в таких конструкциях, удобнее схлопнуть UNION и "на лету" подставлять в SELECT нужное значение через if.
BY Developer's mind
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Cryptoassets enthusiasts use this application for their trade activities, and they may make donations for this cause.If somehow Telegram do run out of money to sustain themselves they will probably introduce some features that will not hinder the rudimentary principle of Telegram but provide users with enhanced and enriched experience. This could be similar to features where characters can be customized in a game which directly do not affect the in-game strategies but add to the experience.
What is Telegram?
Telegram is a cloud-based instant messaging service that has been making rounds as a popular option for those who wish to keep their messages secure. Telegram boasts a collection of different features, but it’s best known for its ability to secure messages and media by encrypting them during transit; this prevents third-parties from snooping on messages easily. Let’s take a look at what Telegram can do and why you might want to use it.